export class A {
  public bar() {
    console.info('bar');
  }

  public qux() {
    console.info('qux');
  }
}

export class B {
  private name: string = 'bar';

  public get bar() {
    return this.name;
  }

  public set bar(value) {
    this.name = value;
  }
}

export class E {
  public static bar() {
    console.info('static bar');
  }

  public bar() {
    console.info('method bar');
  }
}

// github
class A {
  foo() {}
  bar() {}
}

class A {
  static foo() {}
  foo() {}
}

class A {
  get foo() {}
  set foo(value) {}
}

class A {
  foo() {}
}
class B {
  foo() {}
}

class A {
  [foo]() {}
  foo() {}
}

class A {
  foo() {}
  bar() {}
  baz() {}
}

class A {
  *foo() {}
  *bar() {}
  *baz() {}
}

class A {
  get foo() {}
  get bar() {}
  get baz() {}
}

class A {
  1() {}
  2() {}
}

class Foo {
  foo(a: string): string;
  foo(a: number): number;
  foo(a: any): any {}
}